package HDFS;

import org.apache.commons.compress.utils.CharsetNames;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * 给文件追加内容
 * 总结：一致性模型：在文件写入数据时如希望数据立即被其他Client可见可调用
 * FSDataOutputStream.hflsh();//清理客户端缓冲数据，被其他client可见
 */

public class Test_05 {
    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
         //创建信息的对象
        Configuration conf  = new Configuration();
        //获取文件系统
        FileSystem fs = FileSystem.get(new URI("hdfs://bigdata211:9000"), conf, "root");
       //创建文件输出流
        FSDataOutputStream fos = fs.create(new Path("/data/write.txt"));
        //给文件写入数据
        fos.write("数据写入啦！！".getBytes("UTF-8"));

        //把数据写进去保证数据的一致性（刷新进去）
        fos.hsync();
        fos.close();
        System.out.println("数据成功写入");

    }
}
